import { ApiCall } from "tsrpc";
import { ObjectId } from "mongodb"; // 增加ObjectId导入
import { ReqDelData, ResDelData } from "../shared/protocols/PtlDelData";
import { Global } from "../models/Global";

export default async function (call: ApiCall<ReqDelData, ResDelData>) {
    // 转换为ObjectId
    const _id = new ObjectId(call.req._id);
    
    try {
        // 1. 先查询原数据
        const originData = await Global.db.collection("houtai").findOne({ _id });
        
        if (!originData) {
            call.error('数据不存在');
            return;
        }

        // 2. 插入回收站集合（添加删除时间戳）
        await Global.db.collection("Recycle").insertOne({
            ...originData,
            deletedAt: new Date()
        });

        // 3. 执行原删除操作
        const op = await Global.db.collection("houtai").deleteOne({ _id });

        call.succ({
            _id: call.req._id.toString()
        });

    } catch (err) {
        console.error('删除失败', err);
        call.error('删除失败，请稍后重试');
    }
}
